package generate

import "database/sql"

// Executor 生成业务代码所需实现的接口
type Executor interface {
	// GetTableMetadata 获取库元数据
	GetTableMetadata(db *sql.DB, dbName string) ([]Table, error)
	// GetTableColumns 获取表元数据
	GetTableColumns(tableName string, db *sql.DB, dbName string) ([]Column, error)
	// ColumnMetaHandle 处理列元数据
	ColumnMetaHandle(column *Column) error
	// GenerateModel 生成Model业务代码
	GenerateModel(table *Table) error
	// GenerateDomain 生成数据代码
	GenerateDomain(table *Table) error
	// GenerateService 生成业务层代码
	GenerateService(table *Table) error
	// GenerateController 生成控制层业务代码
	GenerateController(table *Table) error
}
